package pojo.cadastro.financeiro;

//import pojo.financeiro.*;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import pojo.operacional.VendaLancamento;

@Entity
@Table(name = "tbc_forma_pagamento")
@NamedQueries({
    @NamedQuery(name = "FormaPagamento.listAll", query = "SELECT fp FROM FormaPagamento fp ORDER BY fp.descricao")
})
public class FormaPagamento implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "FPG_LON_ID")
    private long id;
    @Column(name = "FPG_TXT_DESC", length = 40, nullable = false, unique = true)
    private String descricao;
    @Column(name = "FPG_INT_PARC_PERC", nullable = false)
    private int parcelasPermitidas;
    @Column(name = "FPG_DTA_CAD", nullable = false)
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataCadastro;
    @Column(name = "FPG_BOOL_BAIXADO")
    private boolean baixaAutomatica;

    @OneToMany(mappedBy = "formaPagamento", fetch = FetchType.LAZY)
    private List<VendaLancamento> vendaLancamentos;

    public Date getDataCadastro() {
        return dataCadastro;
    }

    public void setDataCadastro(Date dataCadastro) {
        this.dataCadastro = dataCadastro;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public int getParcelasPermitidas() {
        return parcelasPermitidas;
    }

    public void setParcelasPermitidas(int parcelasPermitidas) {
        this.parcelasPermitidas = parcelasPermitidas;
    }

    public List<VendaLancamento> getVendaLancamentos() {
        return vendaLancamentos;
    }

    public void setVendaLancamentos(List<VendaLancamento> vendaLancamentos) {
        this.vendaLancamentos = vendaLancamentos;
    }

    public boolean isBaixaAutomatica() {
        return baixaAutomatica;
    }

    public void setBaixaAutomatica(boolean baixaAutomatica) {
        this.baixaAutomatica = baixaAutomatica;
    }

}
